#include <stdio.h>
#include <error.h>
#include <unistd.h>
#include <stdlib.h>

char *const path = "/tmp";
char *const argv[] = {"sh", NULL};

// https://juejin.im/post/5ad6118651882555894a5314

int
main(void) {
    if (chroot(path) != 0) {
        perror("chroot error");
    	  exit(1);
    }
    printf("开始...\n");
    chdir("/");                 // 忽略返回值
    int res = execvp("sh", argv);  // 忽略返回值 肯定是找不到的 因为你chroot了
    perror("execvp:");
    return 0;
}